Page({

  /**
   * 页面的初始数据
   */
  data: {
    loginflag:0

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  userLogin:function() {
    wx.checkSession({
      success: function () {
        console.log("success")
      },
      fail: function () {
        onLogin()
      }

    })
  },

  onLogin: function () {
    var that=this//复制一份this，以防后面当前对象发生变化
    wx.login({
      success: function (res) {//wx.login成功
        if (res.code) {
          console.log('code:',res.code)
          //发起网络请求
          wx.request({
            method:'POST',
            header: {
              'content-type': 'application/x-www-form-urlencoded',
              'chartset': 'utf-8'
            },
            url: 'http://fdxt.xyz:5050/login',//服务器API的url
            data: {
              code: JSON.stringify(res.code)
            },
            success: function (res) {//wx.request 成功
              const self = this
              console.log("wx.request成功，res：",res)
              if (res.data)////////////////////////////////
              {
                //获取到用户凭证 存儲 3rd_session（session key）（userID）
                console.log("服务器返回data：", res.data)
                //var json = JSON.parse(res.data)
                wx.setStorage({
                  key: 'userID',
                  data: res.data,
                  success:function(){
                    console.log("userID储存成功")
                    that.setData({loginflag:1})
                    wx.setStorage({
                      key: 'loginflag',
                      data: 1,
                    })
                    console.log("loginflag已设置为",that.data.loginflag)
                    wx.showToast({
                      title: '登录成功！',
                    })
                  },
                  fail:function(){
                    wx.showToast({
                      title: '登陆失败请重试',
                    })
                  }
                })
                wx.getUserInfo()

              }
              else {
                console.log("服务器返回data值出错，res：", res)
              }

            },
            fail: function (res) {//wx.request 失败
              console.log("wx.request失败，res：",res)

            },
            complete: function (res) {//wx.request 完成
              console.log("wx.request完成")

            }

          })
        }
      },
      fail: function (res) {//wx.login 失败
        console.log("wx.login失败")

      }
    })
  },

  getUserInfo: function () {
    var that=this
    var loginflag = that.data.loginflag
    console.log("获取用户信息时的loginflag",loginflag)
    if(loginflag==0) {console.log("loginflag=",loginflag,"登录不成功");return}
    wx.getUserInfo({
      withCredentials: true,
      lang: '',
      success: function (res) {
        console.log("用户信息res:",res)
        var userInfo = res.userInfo
        //userInfoSetInSQL(userInfo)
        wx.setStorage({
          key: 'userInfo',
          data: res,
        })
      },
      fail: function (res) {
        userAccess()
      },
      complete: function (res) { },
    })
  },

  userInfoSetInSQL: function (userInfo) {
    wx.getStorage({
      key: 'userID',
      success: function (res) {
        wx.request({
          url: '',//服务器API的url
          data: {
            userID: res.data,
            nickName: userInfo.nickName,
            success: function () {
              if (/*逻辑成功*/1) {
                //SQL更新用户数据成功
                console.log('数据库更新成功')
              }
              else {
                //SQL更新用户数据失败
                console.log('数据库更新失败')
              }

            }
          }
        })
      },
    })
  },

checkLogin:function(){
  wx.checkSession({
    success:function(res){
      console.log("登录状态有效，res：",res)
    },
    fail: function (res) {
      console.log("登录状态过期，res：", res)
    },
  })
}


})